package com.surprise.base;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

import java.io.Serializable;

/**
 * BaseEntity类
 */
public class BaseEntity implements Serializable {

    /** 串行版本ID */
    private static final long serialVersionUID = 1L;

    /** 数据表名 */
    private String tableName;

    /** SQL ID */
    private String sqlId;
    
    /** 页码 */
    private int pageNo = 1;
    
    /** 总件数 */
    private int totalCount = 0;
    
    /** 表示件数 */
    private int displayCount = 0;
    
    /** 总页数 */
    private int totalPages = 0;
    
    /** 开始号码 */
    private int startNo = 0;
    
    /** 结束号码 */
    private int endNo = 0;
    
    /** sortKey */
    private String sortKey = null;
    
    /** sort顺序 */
    private String order = "Asc";

    /**
     * 构造体
     */
    public BaseEntity() {
    }

    /**
     * 构造体
     * @param tableName 数据表名
     */
    public BaseEntity(String tableName) {
        this.tableName = tableName;
    }

    /**
     * 构造函数
     * @param tableName 数据表名
     * @param sqlId SQLID
     */
    public BaseEntity(String tableName, String sqlId) {
        this.tableName = tableName;
        this.sqlId = sqlId;
    }

    /**
     * 数据表名的获得
     * @return 数据表名
     */
    public String getTableName() {
        return tableName;
    }

    /**
     * 数据表名的设定
     * @param tableName 数据表名
     */
    public void setTableName(String tableName) {
        this.tableName = tableName;
    }
    
    /**
     * SQLIDの取得
     * @return SQLID
     */
    public String getSqlId() {
        return sqlId;
    }

    /**
     * SQLID的设定
     * @param sqlId SQLID
     */
    public void setSqlId(String sqlId) {
        this.sqlId = sqlId;
    }
    
    /**
	 * 页码の取得
	 * @return 页码
	 */
	public int getPageNo() {
		return pageNo;
	}

	/**
	 * 页码的设定
	 * @param pageNo 页码
	 */
	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
	}

	/**
	 * 总件数の取得
	 * @return 总件数
	 */
	public int getTotalCount() {
		return totalCount;
	}

	/**
	 * 总件数的设定
	 * @param totalCount 总件数
	 */
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}

	/**
	 * 表示件数的获得
	 * @return 表示件数
	 */
	public int getDisplayCount() {
		return displayCount;
	}

	/**
	 * 表示件数的设定
	 * @param displayCount 表示件数
	 */
	public void setDisplayCount(int displayCount) {
		this.displayCount = displayCount;
	}
	
	/**
	 * 总页数的获得
	 * @return 总页数
	 */
	public int getTotalPages() {
		return totalPages;
	}
	
	/**
	 * 总页数的设定
	 * @param totalPages 总页数
	 */
	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}
    
    /**
     * 检索开始号码的获得
     *　@param startNo
     */
     public int getStartNo(){
     	return startNo;
     }
     
     /**
     * 检索开始号码的设定
     *　@param srcStartNo
     */
     public void setStartNo(int startNo){
     	this.startNo = startNo;
     }
     
     /**
     * 检索结束号码的获得
     *　@param endNo
     */
     public int getEndNo(){
     	return endNo;
     }
     
     /**
     * 检索结束号码的设定
     *　@param endNo
     */
     public void setEndNo(int endNo){
     	this.endNo = endNo;
     }
     
    /**
     * sortKey的获得
	 * @return sortKey
	 */
	public String getSortKey() {
		return sortKey;
	}

	/**
	 * sortKey的设定
	 * @param sortKey sortKey
	 */
	public void setSortKey(String sortKey) {
		this.sortKey = sortKey;
	}
	
	/**
	 * sort顺序的获得
	 * @return sort顺序
	 */
	public String getOrder() {
		return order;
	}

	/**
	 * sort顺序的设定
	 * @param order sort顺序
	 */
	public void setOrder(String order) {
		this.order = order;
	}

	/**
     * 当前Entity的值的返回
     * @return DTO的值
     */
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }    
}